#ifndef ML_LOOP_H
#define ML_LOOP_H

#include <stdio.h>

#ifdef JMBC_INSIDE

typedef struct
{
	float start, end, inc, value;
} MLLoop;

#endif


// Context

void
mlLoopCreateContext(void);

// Generation / Deletion

void
mlGenLoops(unsigned int n, unsigned int *loops);

void
mlDeleteLoops(unsigned int n, unsigned int *loops);

// Query

float
mlLoopValue(unsigned int id);

// Operation

void
mlLoopLoad(unsigned int id, float start, float end, float inc, float init);

void
mlLoopSet(unsigned int id, float value);

void
mlLoopInc(unsigned int id);

void
mlLoopDec(unsigned int id);

#endif
